package chen.web.widget.vote;

import java.util.List;

import chen.web.widget.Widget;
import chen.web.widget.WidgetManager;

public interface VoteManager extends WidgetManager{
	
	@Override
	Vote get(int id);
	
	@Override
	Vote add(Widget widget);
	
	@Override
	Vote update(Widget widget);
	
	/**
	 * 获取某一选项的投票者信息
	 * @param option
	 * @return
	 */
	List<VoterInfo> getVotersInfo(VoteOption option);
	/**
	 * 投票
	 * @param option
	 */
	void vote(VoteOption option);
	/**
	 * 投票,可投多个选项
	 * @param option
	 */
	void vote(VoteOption... options);
	
	/**
	 * 当前用户是否已经投过票
	 * @param vote
	 * @return
	 */
	boolean hasVoted(Vote vote);
}
